using UnityEngine;
namespace DL.UICheck.Runtime
{
    [CreateAssetMenu(menuName = "UICheck/UICheckConfig", fileName = nameof(UICheckConfig))]
    public class UICheckConfig : ScriptableObject
    {
        //配置参数
        public Color[] CanvasColors =
        {
            Color.red, // 第0层红色
            Color.magenta, // 第1层粉色
            Color.blue, // 第2层蓝色
            Color.yellow, // 第3层黄色
        };

        public Color UIElementColor = Color.green;
        public int Thickness = 1; // 绘制宽度
        public bool DottedLine = true; // 是否绘制对角线
        public bool Info = true; // 是否显示组件信息

        public Color OverflowColor = Color.black; // 溢出警告颜色
        public float OverflowThreshold = 0.001f; // 溢出检测精度（单位：像素）
        public int CheckPrecision = 3; // 每边采样点数

        public bool Enbale = true;

        public bool OnlyActive = true; // 是否只检测激活的UI组件
        
        public void ResetData()
        {
            CanvasColors = new[]
            {
                Color.red, // 第0层红色
                Color.magenta, // 第1层粉色
                Color.blue, // 第2层蓝色
                Color.yellow, // 第3层黄色
            };

            UIElementColor = Color.green;
            Thickness = 1; // 绘制宽度
            DottedLine = true; // 是否绘制对角线
            Info = true; // 是否显示组件信息

            OverflowColor = Color.black; // 溢出警告颜色
            OverflowThreshold = 0.001f; // 溢出检测精度（单位：像素）
            CheckPrecision = 3; // 每边采样点数 
            
            OnlyActive = true; 
        }
    }
}
